<?php
	function addnl($str){ 
		return trim($str)!='' ? $str."\n" : '';
	}
	
	function addtabs($str,$newline=true){
		if(trim($str)!=''){
			$str=str_replace( "\n", "\n".TAB_XHTML ,TAB_XHTML.trim($str));
			return $newline ? $str."\n" : $str;
		}else
			return '';
	}
	
	function pcss($prop,$value,$units=''){
		if(strlen(trim($value))>0)
			return TAB_CSS.$prop.':'.$value.$units.";\n";
	}
	
	function begincss($id){
		return "\n/*INICIO de estilos de #$id*/\n".
			 '#'.$id."{\n";
	}
	
	function endcss($id){
		return "}\n/*FIN estilos de #$id*/\n";
	}
	
	function pbeh($event,$jscode){
		$jscode=trim($jscode);
		if(strlen($jscode)>0)
			return "\n".addtabs('element.'.$event." = function(){\n"
					.addtabs($jscode)."}");
	}
	
	function beginbeh($id){
		return "\n/*INICIO de eventos de #$id*/\n".
			 		BEH_ARRAY."['#$id'] = function(element){\n";
	}
	
	function endbeh($id){
		return "\n}\n/*FIN eventos de #$id*/\n";
	}


/*--------------------------------------------------------------------------------------------------------*/

/*RANDOMIZE ATOMATICO*/
function make_seed(){
   list($usec, $sec) = explode(' ', microtime());
   return (float) $sec + ((float) $usec * 100000);
}
mt_srand(make_seed());

		function random_id($len=AUTO_ID_LEN){
			$s='';
			for($i=0;$i<$len;$i++){
				switch(mt_rand(0,2)){
					case 0: $s.=chr(mt_rand(ord('a'),ord('z'))); break;
					case 1: $s.=chr(mt_rand(ord('A'),ord('Z'))); break;
					case 2: $s.=chr(mt_rand(ord('0'),ord('9'))); break;
				}
			}
			return $s;
		}


	function emptystr($str){
		return strlen(trim($str)) == 0;
	}
	
//	devuelve el atributo xml ($attr="$val") si $val contiene algo, sino no tiene sentido
	function xattr($attr,$val){
		if( !emptystr($val) )
			return ' '.$attr.'="'.$val.'"';
		else
			return '';
	}

/*
	crea un tag xml/xhtml, de nombre $tagname
	y con los atributos segun arrlist (indice="valor"),
	el id es obligatorio, si no es necesario poner '' EXPLICITAMENTE
*/
	function xtag($tagname,$id,$arrlist=array(),$emptytag = false){
		$arrlist['id']=$id;
		$str='<'.$tagname;
		foreach($arrlist as $attr=>$val)
				$str.=xattr($attr,$val);
		$str.= $emptytag ? ' />' : '>';
		return $str;
	}

?>